package hk.linkcredit.walletservice.wallet.domain.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.math.BigDecimal;
import java.util.Date;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

/**
 * <p>
 * 钱包订单表
 * </p>
 *
 * @author LinkCredit
 * @since 2022-06-10 15:26:33
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName("wallet_order")
@ApiModel(value = "WalletOrder对象", description = "钱包订单表")
public class WalletOrder {

    @ApiModelProperty("ID")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty("订单")
    @TableField("serial_no")
    private String serialNo;

    @ApiModelProperty("钱包账户号")
    @TableField("wallet_no")
    private String walletNo;

    @ApiModelProperty("客户号")
    @TableField("cust_no")
    private String custNo;

    @ApiModelProperty("订单类型")
    @TableField("order_type")
    private String orderType;

    @ApiModelProperty("申请金额")
    @TableField("apply_amount")
    private BigDecimal applyAmount;

    @ApiModelProperty("订单金额")
    @TableField("amount")
    private BigDecimal amount;

    @ApiModelProperty("订单服务费")
    @TableField("service_fee")
    private BigDecimal serviceFee;

    @ApiModelProperty("钱包类型")
    @TableField("wallet_type")
    private String walletType;

    @ApiModelProperty("银行编码")
    @TableField("bank_code")
    private String bankCode;

    @ApiModelProperty("银行账户")
    @TableField("bank_account")
    private String bankAccount;

    @ApiModelProperty("From")
    @TableField("`from_where`")
    private String fromWhere;

    @ApiModelProperty("To")
    @TableField("`to_dest`")
    private String toDest;

    @ApiModelProperty("批次流水号")
    @TableField("batch_serial_no")
    private String batchSerialNo;

    @ApiModelProperty("关联借据")
    @TableField("loan_serial_no")
    private String loanSerialNo;

    @ApiModelProperty("订单状态")
    @TableField("`order_status`")
    private String orderStatus;

    @ApiModelProperty("服务费率")
    @TableField("service_rate")
    private BigDecimal serviceRate;

    @ApiModelProperty("余额最低提现金额")
    @TableField("min_withdraw_balance")
    private BigDecimal minWithdrawBalance;

    @ApiModelProperty("奖励金最低提现金额")
    @TableField("min_withdraw_bonus")
    private BigDecimal minWithdrawBonus;

    @ApiModelProperty("状态")
    @TableField("state")
    private String state;

    @ApiModelProperty("备注")
    @TableField("remark")
    private String remark;

    @ApiModelProperty("创建者")
    @TableField("create_by")
    private String createBy;

    @ApiModelProperty("创建时间")
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private Date createTime;

    @ApiModelProperty("更新者")
    @TableField("update_by")
    private String updateBy;

    @ApiModelProperty("更新时间")
    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;


}
